#ifndef IGRAPHOPERATION_H_
#define IGRAPHOPERATION_H_

#include <boost/shared_ptr.hpp>

#include "graph_support/alg_correctness_tests/generate_graph/IGraphGenerator.h"


namespace generate_graph
{

class IGraphOperation
{
public:
	virtual ~IGraphOperation();

protected:
	typedef IGraphGenerator::GraphPtr GraphPtr;
public:
	virtual GraphPtr applyOperation( GraphPtr gr ) = 0;
};
typedef boost::shared_ptr< IGraphOperation > IGraphOperationPtr;

}

#endif /* IGRAPHOPERATION_H_ */
